// import focusConfig from '../../../focus.config.js'
const version = "2.0.76";


// 获取token信息
function token() {
	// 初始化返回值
	var data_return = false;
	// 读取临时缓存
	var save_short = uni.$focus.varForever('get');
	// 如果数据存在
	if (save_short && save_short.token) { data_return = save_short.token; }
	// 不存在则提示
	else {  }
	// 返回数据
	return data_return;
}
// 状态变量
let state_isLocation = false; // 是否进行过定位记录
//待办事项ID
let user_id = ''

export default {
	//证书列表
	getCertificatePageList:function(objC){
		uni.$focus.request({
			method: "get",
			data:{
				...objC.data,
				user_id:uni.getStorageSync("eduInfo").userId,
				id_card:uni.getStorageSync("eduInfo").id_card2
			},
			loadingText: '',
			url: `/aq_course/app/v2/cert/certList`,
			header: {
				"token": token()
			},
			success: (res) => {
				if (objC.success) { objC.success(res); }
			},
			fail:(err)=>{
				if (objC.fail) { objC.fail(err); }
			}
		});
	},
	
		//刷新token
	tokenGet(objC){
		uni.$focus.request({
			method: "post",
			url: '/aq_user/v2/common/refreshToken',
			header: {
				"token": token() || ''
			},
			loadingText: '',
			openToast: false,
			fail: err => {if(objC.fail){objC.fail(err)}},
			success: (res) => {
				// 用户信息数据
				var user_yuan = res.user; // 原始数据
				var user_result = { // 结果数据
					token: res.token, // 登录鉴权
				};
				// 合并对象
				user_result = Object.assign(user_result, user_yuan);
				// 将合并信息 保存到→ 永久缓存
				var isSuc_forever = uni.$focus.varForever('set', user_result);
				// 将合并信息 保存到→ 临时缓存
				uni.$focus.varShortTime('set', user_result);
				// 如果保存成功
				if (isSuc_forever == true) {
					// 如果还未定位，进行定位记录
					if (state_isLocation == false) { this.locationRecord(); }
					// 回调数据
					if (objC.success) { objC.success(user_result); }
				}
				// 如果保存失败
				else {
					// 弹框提示
					uni.showToast({
						title: '信息缓存失败',
						icon: 'none',
						duration: 2500,
					});
				}
				
			}
		});
	},
	
	/**
	 * @description 获取规则通告
	 * @param {Object} objC
	 */
	getRuleNotice: function (objC) {
		uni.$focus.request({
			data:objC.data,
			method: "get",
			url: '/aq_course/app/v2/home/courseCensus',
			header: {
				"token": token() || ''
			},
			loadingText: '',
			openToast: false,
			openGreen: true, // 开启绿色通道
			fail: err => {if (objC.fail) { objC.fail(err) }},
			success: res => {
				if (objC.success) { objC.success(res); }
			},
		});
	},
	
	// 通过authCode获取用户信息
	authCodeGetUserInfo: function (objC) {
		uni.$focus.request({
			data:objC.data,
			method: "post",
			url: '/aq_user/v2/identityV2/getUserContent',
			loadingText: '',
			openToast: false,
			openGreen: true, // 开启绿色通道
			fail: err => {if (objC.fail) { objC.fail(err) }},
			success: res => {
				// if (objC.success) { objC.success(res); }
				// 用户信息数据
				var user_yuan = res.user; // 原始数据
				var user_result = { // 结果数据
					token: res.token, // 登录鉴权
				};
				
				// 合并对象
				user_result = Object.assign(user_result, user_yuan);
				// 将合并信息 保存到→ 永久缓存
				var isSuc_forever = uni.$focus.varForever('set', user_result);
				// 将合并信息 保存到→ 临时缓存
				uni.$focus.varShortTime('set', user_result);
				
				// 如果保存成功
				if (isSuc_forever == true) {
					// 如果还未定位，进行定位记录
					if (state_isLocation == false) { this.locationRecord(); }
					// 回调数据
					if (objC.success) { objC.success(user_result); }
				}
				// 如果保存失败
				else {
					// 弹框提示
					uni.showToast({
						title: '信息缓存失败',
						icon: 'none',
						duration: 2500,
					});
				}
			},
		});
	},
	
	// 用户位置坐标记录
	locationRecord: function () {
		// 获取定位信息
		uni.getLocation({
			type: 'gcj02',
			success: (locationD) => {
				
				// 请求数据
				uni.$focus.request({
					method: "post",
					url: '/aq_user/v2/user/updateCoordinate',
					data: {
						coordinate: locationD.longitude + ',' + locationD.latitude, // 坐标
					},
					loadingText: '正在记录位置',
					header: {
						"token": token()
					},
					openToast: false,
					success: (res) => {
						// 状态修改
						state_isLocation = true;
					}
				});
				
			}
		});
	},
	
	// ======================================================== 学习情况
	// 获取用户学分统计
	scoreForStudy: function (objC) {
		
		// 获取用户token
		var token_result = token();
		
		// 请求数据
		uni.$focus.request({
			data: objC.data,
			method: "get",
			url: '/aq_course/app/v2/home/getUserScore',
			loadingText: '获取学分统计',
			openToast: false,
			openGreen:true,
			header: {
				"token": token_result ? token_result : '',
			},
			fail: (res) => {  if (objC.fail) { objC.fail(res); }  },
			success: (res) => {
				
				// 学分统计对象
				var info_yuan = res.info ? res.info : {}; // 原始数据
				var info_back = {}; // 结果数据
				
				// 重构结果数据
				info_back = {
					// 完成率
					progress: info_yuan.comp_rate,
					// 必修
					scoreGet_bi: info_yuan.study_bi_score ? info_yuan.study_bi_score : 0, // 已获学时
					scoreTotal_bi: info_yuan.bi_score ? info_yuan.bi_score : 0, // 总学时
					// 选修
					scoreGet_xuan: info_yuan.study_xuan_score ? info_yuan.study_xuan_score : 0, // 已获学时
					scoreTotal_xuan: info_yuan.xuan_score ? info_yuan.xuan_score : 0, // 总学时
				};
				
				// 回调数据封装
				var data_callback = {
					"info": info_back
				};
				// 回调数据
				if (objC.success) { objC.success(data_callback); }
				
			}
		});
		
	},
	
	// 待办事项
	thingsWillGo: function (objC) {
		
		// 获取用户token
		var token_result = token();
		
		// 请求数据
		uni.$focus.request({
			method: "get",
			url: '/aq_course/app/v2/home/stayDo',
			// loadingText: '获取待办事项',
			openToast: false,
			openGreen: true,
			header: {  
				"token": token_result ? token_result : '',
			},
			fail: (err) => {
				if (objC.fail) { objC.fail(err); } 
			},
			success: (res) => {
				// 待办事项对象
				// var info_yuan = res.info ? res.info : {}; // 原始数据
				var info_yuan = {};
				if (Object.keys(res.examinee).length) {
					info_yuan = {
						id: res.examinee.id, // 待办事项id
						type: res.examinee.type, // 待办事项类型：1-登录事务 2-实名事务 3-课程事务 0-其他事务
						label: res.examinee.label, // 标签文本
						title: res.examinee.title, // 事项标题
						btnText: res.examinee.btnText, // 按钮上面的文字
						path: res.examinee.path, // 跳转url地址
						remark: res.examinee.remark, // 备注说明
						isMust: res.examinee.is_must,
						isQuestion: res.examinee.is_question,//是否填写问卷
						examArray: res.examinee.exam_array//获取考生信息
					}
				}else{
					info_yuan = res.info
				}
				var info_back = {}; // 结果数据
				this.user_id = (res.info.id || res.examinee.id) + ''
				// 重构结果数据
				info_back = {
					id: info_yuan.id, // 待办事项id
					type: info_yuan.type, // 待办事项类型：1-登录事务 2-实名事务 3-课程事务 0-其他事务
					label: info_yuan.label, // 标签文本
					title: info_yuan.title, // 事项标题
					btnText: info_yuan.btnText, // 按钮上面的文字
					path: info_yuan.path, // 跳转url地址
					remark: info_yuan.remark, // 备注说明
					isMust: info_yuan.is_must, // 必/选修 (type=3时携带)
					isQuestion: info_yuan.isQuestion,//是否填写问卷
					examArray: info_yuan.examArray//获取考生信息
				};
				
				// 回调数据封装
				var data_callback = {
					"info": info_back
				};
				// 回调数据
				if (objC.success) { objC.success(data_callback); }
			}
		});
		
	},
	// ======================================================== 个人中心信息读写
	// 我的信息总数据
	userInfoGet: function (objC) {
		// 请求数据
		uni.$focus.request({
			method: "get",
			url: '/aq_user/v2/user/getUserInfo',
			loadingText: '获取用户详情',
			header: {
				"token": token(),
			},
			openToast: false,
			fail: (res) => {  if (objC.fail) { objC.fail(res); }  },
			success: (res) => {
				// 待办事项对象
				var info_yuan = res ? res : {}; // 原始数据
				var info_back = {}; // 结果数据
				// 重构结果数据
				info_back = {
					// 企业信息
					sentryPid:info_yuan.sentry_pid,//身份id
					person: info_yuan.sentry_pid_name, // 切换身份
					project: info_yuan.project_name, // 所属项目
					projectId:info_yuan.project_id,//项目id
					company: info_yuan.work_name, // 工作单位
					department: info_yuan.section_name, // 所在部门
					grade: info_yuan.sentry_guan_personal_name, // 任职职务级别
					jobs: info_yuan.sentry_personal_name, // 工种
					jobsNumber: info_yuan.sentry_personal_name ? info_yuan.sentry_personal_name.split(',').length : 0, // 工种数量
					// 帐号信息
					portrait: info_yuan.img, // 头像
					nickname: info_yuan.nickname, // 昵称
					sex: info_yuan.sex, // 性别
					tel: info_yuan.mobile, // 手机号码
					// 实名认证
					audit: info_yuan.is_auth, // 实名状态：0-未实名  1-实名中  2-实名通过
					whyForPass: info_yuan.auth_text, // 实名审核备注
					realphoto: info_yuan.scene_img, // 真实照片
					realname: info_yuan.real_name, // 真实姓名
					IDcard: info_yuan.id_card, // 身份证号码
					IDcardIMagFront:info_yuan.id_card_img,//身份证正面
					IDcardIMagBack:info_yuan.id_card_img_bm,//身份证背面
					nation:info_yuan.nation,//民族
					birth:info_yuan.date_of_birth,//出生日期
					signing:info_yuan.issuing_authority,//签发机关
					effectiveStart:info_yuan.start_date,//证件开始时间
					effectiveEnd:info_yuan.end_date,//证件有效期结束时间
					// address:info_yuan.card_address,//住址
					id_card2: info_yuan.id_card2,
					IDcardIMagBackId:info_yuan.id_card_img_bm_id,//背面身份证图片id
					IDcardIMagFrontId:info_yuan.id_card_img_id,//正面身份证图片id
					mobile2: info_yuan.mobile2,//手机
					culture:info_yuan.culture,//文凭
					politics:info_yuan.politics,//政治面貌
					realphotoId: info_yuan.scene_img_id, // 真实照片
					isAgAuth:info_yuan.is_ag_auth,
					isJwAgAuth:info_yuan.is_jw_ag_auth,//入库信息
					certNumber:info_yuan.cert_number,//证书id
					address:info_yuan.address,//住址
					userId:info_yuan.id,
				};	
				uni.setStorageSync("eduInfo",info_back)
				// 回调数据封装
				var data_callback = {
					"info": info_back
				};
				// 回调数据
				if (objC.success) { objC.success(data_callback); }
			}
		});
		
	},

	//直播入口
	liveEntryGet: function (objC) {

		var save_forever = uni.$focus.varForever().token;;
		// 请求数据
		uni.$focus.request({
			method: "get",
			url: '/aq_course/app/v2/livePlan/getLivePlanInfo',
			loadingText: '获取直播入口',
			header: {
				"token": save_forever ? save_forever : '',
			},
			openGreen: true, // 开启绿色通道
			fail: (res) => {  if (objC.fail) { objC.fail(res); }  },
			success: (res) => {
				if (objC.success) { objC.success(res); }
			}
		});
		
	},

	//直播列表
	liveGetList: function (objC) {

		var save_forever = uni.$focus.varForever().token;
		// 请求数据
		uni.$focus.request({
			method: "get",
			url: '/aq_course/app/v2/livePlan/getLiveList',
			data: objC.data,
			loadingText: 'liveGetList',
			openToast: false,
			header: {
				"token": save_forever ? save_forever : '',
			},
			fail: (res) => {  if (objC.fail) { objC.fail(res); }  },
			success: (res) => {
				var list_yuan = res; 
					var data_back = {
						"list": list_yuan,
					};
					// 回调数据
					if (objC.success) { objC.success(data_back); }
					
				}
		});
			
	},

	//提交 完善信息
	submitLive: function (objC) {
		// 普通传递数据
		var mydata = Object.assign({
			live_plan_id: '', // 直播ID
			type: '', // 登记状态
			name: '', 
			mobile: '', 
			id_card: '', 
			project_name: '', 
			work_name: '', 
			section_name: '',
		}, objC.data);
		
		// 请求数据
		uni.$focus.request({
			method: "post",
			url: '/aq_course/app/v2/livePlan/perfectInfo',
			data: mydata,
			loadingText: '提交中',
			header: {
				"token": token()
			},
			openMask: true, // 蒙层框开启
			openToast: false,
			fail: (res) => {  if (objC.fail) { objC.fail(res); }  },
			success: (res) => {

				// 成功回调
				if (objC.success) { objC.success(res); }
			}
		});
	},
	
	/**
	 * @description 获取直播详情
	 * @param {Object} objC
	 */
	getLiveDetail: function (objC) {
		// 请求数据
		uni.$focus.request({
			method: "get",
			url: `/aq_course/app/v2/livePlan/getLiveDetail/${objC.data.urlData.id}`,
			loadingText: '请稍后...',
			header: { "token": token() },
			openMask: true, // 蒙层框开启
			openToast: false,
			fail: (res) => {  if (objC.fail) { objC.fail(res); }  },
			success: (res) => { if (objC.success) { objC.success(res); } }
		});
	},
	
	/**
	 * @description 获取直播地址
	 * @param {Object} objC
	 */
	getLiveUrl: function (objC) {
		// 请求数据
		uni.$focus.request({
			method: "get",
			url: `/aq_course/app/v2/livePlan/enterLive/${objC.data.urlData.id}`,
			loadingText: '请稍后...',
			header: { "token": token() },
			openMask: true, // 蒙层框开启
			openToast: false,
			fail: (res) => {  if (objC.fail) { objC.fail(res); }  },
			success: (res) => { if (objC.success) { objC.success(res); } }
		});
	}
	
};